#plotting format
plotformat = theme(plot.title = element_text(face="bold",size = 17,hjust = 0.5),axis.title = element_text(face = "bold",size =15), axis.text.x = element_text(size=12), axis.title.y=element_text(size=14))+theme_bw()

theme_facet = function(base_size = 14, base_family = "Helvetica") {
  # Starts with theme_grey and then modify some parts
  theme_bw(base_size = base_size, base_family = base_family) %+replace%
    theme(
      strip.background = element_blank(),
      strip.text.x = element_text(size = 10),
      strip.text.y = element_text(size = 10),
      axis.text.x = element_blank(),
      axis.text.y = element_text(size=12,hjust=1),
      axis.ticks =  element_blank(), #element_line(colour = "black"), 
      axis.title.x= element_text(size=12),
      axis.title.y= element_text(size=12,angle=90),
      panel.background = element_blank(), 
      panel.border =element_blank(), 
      panel.grid.minor = element_blank(), 
      panel.spacing = unit(0.5, "lines"), 
      plot.background = element_blank(), 
      plot.margin = unit(c(0.3,  0.3, 0.3, 0.3), "lines"),
      axis.line.x = element_line(color="black", size = 0.5),
      axis.line.y = element_line(color="black", size = 0.5)
    )
}
#color
Features = c('#deebf7','#9ecae1','#6baed6','#4292c6','#08519c','#08306b',
             '#fee6ce','#fdae6b','#fd8d3c','#f16913','#a63603','#7f2704',
             '#f0f0f0','#bdbdbd','#969696','#737373','#252525','#000000',
             '#efedf5','#bcbddc','#9e9ac8','#807dba','#54278f','#3f007d')
dataPath = '/Volumes/Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/';

SameDifferent_fnames = list.files(path = dataPath,pattern = "SameDifferent")
Demo_fnames = list.files(path = dataPath,pattern = "demographics")

Load data

##specify variables
#for behavior information
completeFnames =list()
totalData = data.frame()
ic = 1;

#for demographic information
gender = data.frame()
age = data.frame()
ethnicity= data.frame()
race = data.frame()
subID = data.frame()

##
for (ifiles in 1:length(SameDifferent_fnames)){
  tempFile = read.table(paste0(dataPath,SameDifferent_fnames[ifiles]),header = F)
  Trials = unlist(strsplit(as.character(tempFile$V1), ";"))
  
  if (length(Trials)>10){
    keyNum = data.frame()
    accuracy = data.frame()
    feature_index = data.frame()
    RT = data.frame()
    Fir_img = data.frame()
    Sec_img = data.frame()
    for (i in 1:length(Trials)){
      temp = unlist(strsplit(Trials[i],","));
      keyNum = rbind(keyNum,as.numeric(temp[2]))
      accuracy = rbind(accuracy,as.numeric(temp[4]))
      RT = rbind(RT,as.numeric(temp[5]))
      feature_index = rbind(feature_index,as.numeric(temp[6]))
      Fir_img = rbind(Fir_img,as.numeric(temp[7]))
      Sec_img = rbind(Sec_img,as.numeric(temp[8]))
    }
    data = cbind(keyNum,accuracy,RT, feature_index,Fir_img,Sec_img)
    colnames(data) = c("keys","accuracy", "rt","feature_index", "Fimg","Simg")
    data = data[-1,]
    data$subID = ifiles;
    data$trialNum = 1:dim(data)[1];
    
    totalData = rbind(totalData,data)

    #subject ID for completing the tasks
    for (ifilesDe in 1:length(Demo_fnames)){
      if (unlist(strsplit(SameDifferent_fnames[ifiles],"SameDifferent"))[2]==unlist(strsplit(Demo_fnames[ifilesDe],"demographics"))[2]){
        tempDemoFile = read.table(paste0(dataPath,Demo_fnames[ifilesDe]),header = F)
        Demo_info = unlist(strsplit(as.character(tempDemoFile$V1), ";"))
        gender[ic,1] = unlist(Demo_info[1])
        age[ic,1]=unlist(Demo_info[2])
        ethnicity[ic,1]=unlist(Demo_info[3])
        race[ic,1]=unlist(Demo_info[4])
        subID[ic,1]=unlist(ifiles)
        }
    completeFnames[ic] =unlist(strsplit(SameDifferent_fnames[ifiles],"SameDifferent"))[2]}
    ic = ic+1;
  }else{
  }
}
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent308Q0PEVB8D79MIMPLUPOLB2LHGI9F.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics308Q0PEVB8D79MIMPLUPOLB2LHGI9F.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent31T4R4OBOSGCI08TIE0JZMM1DM8C7V.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics31T4R4OBOSGCI08TIE0JZMM1DM8C7V.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent34FNN24DCM9AYZVFQD3BYT0OP4OY53.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics34FNN24DCM9AYZVFQD3BYT0OP4OY53.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent369J354OFDA6VCAT1QRAJZ7KGGUG6E.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics369J354OFDA6VCAT1QRAJZ7KGGUG6E.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent36W0OB37HWEMJIPFN1631XCG0G8ZHJ.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent38F5OAUN5NC3Z8J946EKADJHQFM7HA.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics38F5OAUN5NC3Z8J946EKADJHQFM7HA.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent39KFRKBFINVW691XVSZA7Z0F68GYOD.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3AAPLD8UCCHQX6GGH9HLF9BZFBTHTA.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3AAPLD8UCCHQX6GGH9HLF9BZFBTHTA.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3DZQRBDBSLFAOYW2DONT1AE3UWP3SA.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3FFJ6VRIL1OPDSU9PPBWVAA9IDBI0S.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3FFJ6VRIL1OPDSU9PPBWVAA9IDBI0S.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3I2PTA7R3TU47GPW6QQNNWG4NZDKQA.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3I2PTA7R3TU47GPW6QQNNWG4NZDKQA.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3II4UPYCOJ7WTAJME940JJLE3C0DQI.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3II4UPYCOJ7WTAJME940JJLE3C0DQI.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3IX2EGZR7BJ98XYE1KFBR7QW4JIJRO.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3IX2EGZR7BJ98XYE1KFBR7QW4JIJRO.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3J2UYBXQQLC9K8Z8NO27Y7K49MI60O.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3J2UYBXQQLC9K8Z8NO27Y7K49MI60O.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3M0NZ3JDP1YA3P5KMZ5UC09QVYN5ZW.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3M0NZ3JDP1YA3P5KMZ5UC09QVYN5ZW.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3M68NM076H7XK2J7H1LMI3LRICGR66.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3M68NM076H7XK2J7H1LMI3LRICGR66.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3NPI0JQDAO5IANE40MPQOIDQ1D1PT7.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3NPI0JQDAO5IANE40MPQOIDQ1D1PT7.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3PDJHANYK5GKV854LW9S4ZJLV3L6HR.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3PDJHANYK5GKV854LW9S4ZJLV3L6HR.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3PEIJLRY6TTFBDKPHI4I5F6S7WEWXU.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3PEIJLRY6TTFBDKPHI4I5F6S7WEWXU.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3PW9OPU9PQKL9W1PW5U4MZM2Y9M125.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3PW9OPU9PQKL9W1PW5U4MZM2Y9M125.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3R9WASFE2ZG25MY9SBI3YC03KTLFZB.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3R9WASFE2ZG25MY9SBI3YC03KTLFZB.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3SPJ0334213I5YA0FF75Z3JT75IYJO.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3SPJ0334213I5YA0FF75Z3JT75IYJO.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3TVSS0C0E108UWB5C83LGCLMU0KWT5.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3TVSS0C0E108UWB5C83LGCLMU0KWT5.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3U0SRXB7CD55RNPZGI73KE7DDB2NRR.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3U0SRXB7CD55RNPZGI73KE7DDB2NRR.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3UNH76FOCS5866GLICKXFVBABZIMYL.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3UNH76FOCS5866GLICKXFVBABZIMYL.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3VHHR074H3H5L42ZVRTI25CO7PXL7J.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3VHHR074H3H5L42ZVRTI25CO7PXL7J.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3VNXK88KKCICVS2MOST83A1WTJZV9C.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3VNXK88KKCICVS2MOST83A1WTJZV9C.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3W2LOLRXLBF4JH4WJ5FNSMQ9J78RKJ.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3W2LOLRXLBF4JH4WJ5FNSMQ9J78RKJ.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3X1FV8S5JXRRA2PU2YZIVRNJXWUGVO.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3X1FV8S5JXRRA2PU2YZIVRNJXWUGVO.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3X4MXAO0BGOVEHYD8JYQGXK46E9RW7.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3X4MXAO0BGOVEHYD8JYQGXK46E9RW7.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3YJ6NA41JBGOWKIZOSBMMCQH30GJPG.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3YJ6NA41JBGOWKIZOSBMMCQH30GJPG.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3YMU66OBIN8MS1UAX9IEGQWAPHSHG8.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3YMU66OBIN8MS1UAX9IEGQWAPHSHG8.txt'
## Warning in read.table(paste0(dataPath, SameDifferent_fnames[ifiles]),
## header = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## SameDifferent3ZSY5X72NXBN98PBHX7GZ37I3C8ORQ.txt'
## Warning in read.table(paste0(dataPath, Demo_fnames[ifilesDe]), header
## = F): incomplete final line found by readTableHeader on '/Volumes/
## Macintosh HD/Users/Pam_sf_wang/Documents/AMTdata/Calibration_NewDesign_006/
## demographics3ZSY5X72NXBN98PBHX7GZ37I3C8ORQ.txt'
demographic_information = cbind(gender,age,ethnicity,race,subID)
colnames(demographic_information) = c("Gender","Age","Ethnicity","Race","SubID")
demographic_information$Age = as.numeric(demographic_information$Age)

Identify and remove outliers

summarize = dplyr::summarize
#check basic performance -- remove non-responding subjects
temp = totalData %>% group_by(subID) %>% summarize(num_noresponses= sum(keys==-1), trialNum = length(subID))
sprintf("total trial number: %i; Number of subjects %i",temp$trialNum[1],dim(temp)[1])
## [1] "total trial number: 84; Number of subjects 30"
temp
## # A tibble: 30 x 3
##    subID num_noresponses trialNum
##    <int>           <int>    <int>
##  1     2               0       84
##  2     3               0       84
##  3     4               0       84
##  4     5               0       84
##  5     7               0       84
##  6     9               0       84
##  7    11               0       84
##  8    12               3       62
##  9    13               0       84
## 10    14               0       84
## # ... with 20 more rows
ggplot(temp, aes( y= num_noresponses, x= subID))+
  geom_point()+
  geom_hline(yintercept=42, linetype="dashed", color = "red", size=0.5)+
  labs(title="No responses", x ="subjuect ID", y = "number of no responses")+
  plotformat

#check feature number
tempFeature = totalData %>% group_by(subID) %>%summarize(feature = feature_index[1])
sprintf("Feature 1: %i; Feature 2: %i; Feature 3: %i",sum(tempFeature$feature==1),sum(tempFeature$feature==2),sum(tempFeature$feature==3))
## [1] "Feature 1: 10; Feature 2: 10; Feature 3: 10"
#no response subjects
removeSub = temp$subID[temp$num_noresponses>42]
totalData = totalData%>%filter(!subID %in% removeSub)
demographic_information = demographic_information%>%filter(!SubID %in%removeSub)

sprintf("remove subjects %i",length(removeSub))
## [1] "remove subjects 0"

Demographic information

genderCount = table(demographic_information$Gender)
EthnicityCount = table(demographic_information$Ethnicity)
RaceCount = table(demographic_information$Race)
genderCount
## 
##  F  M 
##  9 21
EthnicityCount
## 
##  HL  NA NHL 
##   2   1  27
RaceCount
## 
##  A AI  M  W 
##  3  1  4 22
summary(demographic_information$Age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max.    NA's 
##   26.00   31.00   38.00   39.28   47.00   64.00       1
ggplot(demographic_information, aes(demographic_information$Age)) + 
  geom_histogram()+
  geom_vline(xintercept=median(demographic_information$Age), linetype="dashed", color = "red", size=0.5)+
  #geom_vline(xintercept=mean(demographic_information$Age), linetype="dashed", color = "blue", size=0.5)+
  labs(title = "Age Distribution",x = "age", y = "counts")+
  plotformat
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.
## Warning: Removed 1 rows containing non-finite values (stat_bin).
## Warning: Removed 1 rows containing missing values (geom_vline).

Restrict age

#select right age
remainSub = demographic_information$SubID[demographic_information$Age<35]
demographic_information_remain = filter(demographic_information,SubID%in%remainSub)

summary(demographic_information_remain$Age)
##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
##   26.00   28.00   30.00   29.92   32.00   34.00
ggplot(demographic_information_remain, aes(Age)) + 
  geom_histogram()+
  geom_vline(xintercept=median(demographic_information_remain$Age), linetype="dashed", color = "red", size=0.5)+
  #geom_vline(xintercept=mean(demographic_information$Age), linetype="dashed", color = "blue", size=0.5)+
  labs(title = "Age Distribution",x = "age", y = "counts")+
  plotformat
## `stat_bin()` using `bins = 30`. Pick better value with `binwidth`.

genderCount = table(demographic_information_remain$Gender)
EthnicityCount = table(demographic_information_remain$Ethnicity)
RaceCount = table(demographic_information_remain$Race)
genderCount
## 
##  F  M 
##  2 11
EthnicityCount
## 
##  HL NHL 
##   1  12
RaceCount
## 
##  A AI  M  W 
##  1  1  3  8
totalData = totalData %>%filter(subID %in%remainSub)

temp = totalData %>% group_by(subID) %>% summarize(num_noresponses= sum(keys==-1), trialNum = length(subID))
sprintf("total trial number: %i; Number of subjects %i",temp$trialNum[1],dim(temp)[1])
## [1] "total trial number: 84; Number of subjects 13"
temp
## # A tibble: 13 x 3
##    subID num_noresponses trialNum
##    <int>           <int>    <int>
##  1     2               0       84
##  2     4               0       84
##  3     5               0       84
##  4    12               3       62
##  5    17               0       84
##  6    18               0       84
##  7    22               0       84
##  8    23               0       84
##  9    25               0       84
## 10    26              15       84
## 11    27               6       84
## 12    29              17       84
## 13    33               0       84
ggplot(temp, aes( y= num_noresponses, x= subID))+
  geom_point()+
  geom_hline(yintercept=42, linetype="dashed", color = "red", size=0.5)+
  labs(title="No responses", x ="subjuect ID", y = "number of no responses")+
  plotformat

#check feature number
tempFeature = totalData %>% group_by(subID) %>%summarize(feature = feature_index[1])
sprintf("Feature 1: %i; Feature 2: %i; Feature 3: %i",sum(tempFeature$feature==1),sum(tempFeature$feature==2),sum(tempFeature$feature==3))
## [1] "Feature 1: 3; Feature 2: 5; Feature 3: 5"

Add conditions

summarize = dplyr::summarize
completeFnames = unlist(completeFnames)
#trial conditions: different:0; same:1 (same as keys)
totalData$cond = NA;
totalData$cond[totalData$Fimg==totalData$Simg]=1;
totalData$cond[totalData$Fimg!=totalData$Simg]=0;


totalData$level_diff = abs(totalData$Simg-totalData$Fimg);


#Assign pair identity (ignore order)
totalData$pairIdentity = NA;

totalData$pairIdentity[totalData$cond==1&totalData$Fimg==1]=1
totalData$pairIdentity[totalData$cond==1&totalData$Fimg==2]=2
totalData$pairIdentity[totalData$cond==1&totalData$Fimg==3]=3
totalData$pairIdentity[totalData$cond==1&totalData$Fimg==4]=4
totalData$pairIdentity[totalData$cond==1&totalData$Fimg==5]=5
totalData$pairIdentity[totalData$cond==1&totalData$Fimg==6]=6
totalData$pairIdentity[totalData$cond==1&totalData$Fimg==7]=7

totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==2]=12
totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==1]=12

totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==3]=13
totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==1]=13

totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==4]=14
totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==1]=14

totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==5]=15
totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==1]=15

totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==6]=16
totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==1]=16

totalData$pairIdentity[totalData$Fimg==1&totalData$Simg==7]=17
totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==1]=17

totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==3]=23
totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==2]=23

totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==4]=24
totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==2]=24

totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==5]=25
totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==2]=25

totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==6]=26
totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==2]=26

totalData$pairIdentity[totalData$Fimg==2&totalData$Simg==7]=27
totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==2]=27

totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==4]=34
totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==3]=34

totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==5]=35
totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==3]=35

totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==6]=36
totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==3]=36

totalData$pairIdentity[totalData$Fimg==3&totalData$Simg==7]=37
totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==3]=37

totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==5]=45
totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==4]=45

totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==6]=46
totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==4]=46

totalData$pairIdentity[totalData$Fimg==4&totalData$Simg==7]=47
totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==4]=47

totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==6]=56
totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==5]=56

totalData$pairIdentity[totalData$Fimg==5&totalData$Simg==7]=57
totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==5]=57

totalData$pairIdentity[totalData$Fimg==6&totalData$Simg==7]=67
totalData$pairIdentity[totalData$Fimg==7&totalData$Simg==6]=67

totalData$pairIdentity = as.factor(totalData$pairIdentity)
summarize = dplyr::summarize
#Times
TimesRT = totalData %>% group_by(subID,pairIdentity,feature_index,cond)%>%summarize(Frt = rt[1],Srt = rt[2], Trt = rt[3], Ftrial = trialNum[1],Strial = trialNum[2],Ttrial = trialNum[3])

TimesRT_long = gather(TimesRT, response_type, number_resp,Frt,Srt,Trt)
ggplot(subset(TimesRT_long, cond==1), aes(x = pairIdentity, y = number_resp, group = pairIdentity, color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  ylim(0,2500)+
  facet_wrap(response_type~feature_index)+
  labs(title="Same", x = "level", y = "RT")+
  plotformat
## Warning: Removed 5 rows containing non-finite values (stat_boxplot).
## Warning: Removed 7 rows containing missing values (geom_point).

ggplot(subset(TimesRT_long, cond==0), aes(x = pairIdentity, y = number_resp, group = pairIdentity, color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(response_type~feature_index)+
  labs(title="Different", x = "Same level", y = "RT")+
  plotformat
## Warning: Removed 18 rows containing non-finite values (stat_boxplot).
## Warning: Removed 18 rows containing missing values (geom_point).

TimesRTcorrect = totalData %>% group_by(subID,pairIdentity,feature_index,cond)%>%filter(accuracy==1) %>%summarize(Frt = rt[1],Srt = rt[2], Trt = rt[3], Ftrial = trialNum[1],Strial = trialNum[2],Ttrial = trialNum[3])

TimesRTcorrect_long = gather(TimesRTcorrect, response_type, number_resp,Frt,Srt,Trt)
ggplot(subset(TimesRTcorrect_long, cond==1), aes(x = pairIdentity, y = number_resp, group = pairIdentity, color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(response_type~feature_index)+
  labs(title="Correct same", x = "Same level", y = "RT")+
  plotformat
## Warning: Removed 99 rows containing non-finite values (stat_boxplot).
## Warning: Removed 99 rows containing missing values (geom_point).

ggplot(subset(TimesRTcorrect_long, cond==0), aes(x = pairIdentity, y = number_resp, group = pairIdentity, color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(response_type~feature_index,strip.position = 'bottom')+
  labs(title="Correct different", x = "Same level", y = "RT")+
  theme_facet()
## Warning: Removed 240 rows containing non-finite values (stat_boxplot).
## Warning: Removed 240 rows containing missing values (geom_point).

Behavior analysis

summarize = dplyr::summarize
basic = totalData %>% filter(keys>=0)%>% group_by(subID)%>% summarize(num_noresposnes = sum(keys==-1), num_same_resp = sum(keys==1), num_diff_resp = sum(keys==0), num_same_trials =sum(cond==1), num_diff_trials = sum(cond==0), 
                                                    hit = sum(keys==1&cond==1), 
                                                    fa= sum(keys==1&cond==0), 
                                                    cr = sum(keys==0&cond==0),
                                                    miss = sum(keys==0&cond==1),
                                                    HitRate =sum(keys==1&cond==1)/sum(cond==1), 
                                                    FARate = sum(keys==1&cond==0)/sum(cond==0), 
                                                    CRRate = sum(keys==0&cond==0)/sum(cond==0),
                                                    MissRate = sum(keys==0&cond==1)/sum(cond==1), 
                                                    d_p = qnorm(HitRate)-qnorm(FARate))
basic
## # A tibble: 13 x 15
##    subID num_noresposnes num_same_resp num_diff_resp num_same_trials
##    <int>           <int>         <int>         <int>           <int>
##  1     2               0            33            51              21
##  2     4               0            41            43              21
##  3     5               0            41            43              21
##  4    12               0            35            24              15
##  5    17               0            28            56              21
##  6    18               0            29            55              21
##  7    22               0            40            44              21
##  8    23               0            33            51              21
##  9    25               0            17            67              21
## 10    26               0            35            34              18
## 11    27               0            18            60              20
## 12    29               0            34            33              15
## 13    33               0            34            50              21
## # ... with 10 more variables: num_diff_trials <int>, hit <int>, fa <int>,
## #   cr <int>, miss <int>, HitRate <dbl>, FARate <dbl>, CRRate <dbl>,
## #   MissRate <dbl>, d_p <dbl>
#plotting
basic_longform = gather(basic, response_type, number_resp, HitRate,FARate,CRRate,MissRate)
head(basic_longform)
## # A tibble: 6 x 13
##   subID num_noresposnes num_same_resp num_diff_resp num_same_trials
##   <int>           <int>         <int>         <int>           <int>
## 1     2               0            33            51              21
## 2     4               0            41            43              21
## 3     5               0            41            43              21
## 4    12               0            35            24              15
## 5    17               0            28            56              21
## 6    18               0            29            55              21
## # ... with 8 more variables: num_diff_trials <int>, hit <int>, fa <int>,
## #   cr <int>, miss <int>, d_p <dbl>, response_type <chr>,
## #   number_resp <dbl>
ggplot(basic_longform, aes(x = response_type, y = number_resp, color = response_type))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  labs(title="Proportaion response type", x = "response type", y = "proportion")+
  plotformat

#d-p
ggplot(basic, aes(x = subID, y = d_p, color = as.factor(subID)))+
  geom_point(size=3)+
  labs(title="d prime", x = "subject", y = "d prime")+
  plotformat

remain_dp = basic$subID[basic$d_p>0.5]
sprintf("remove d prime lower than 0.5 %i",length(remain_dp))
## [1] "remove d prime lower than 0.5 4"
totalData = totalData %>%filter(subID%in%remain_dp)


#check feature number
tempFeature = totalData %>% group_by(subID) %>%summarize(feature = feature_index[1])
sprintf("Feature 1: %i; Feature 2: %i; Feature 3: %i",sum(tempFeature$feature==1),sum(tempFeature$feature==2),sum(tempFeature$feature==3))
## [1] "Feature 1: 1; Feature 2: 2; Feature 3: 1"
##########
basicFeature = totalData %>% filter(keys>=0)%>% group_by(subID,feature_index)%>% summarize(num_noresposnes = sum(keys==-1), num_same_resp = sum(keys==1), num_diff_resp = sum(keys==0), num_same_trials =sum(cond==1), num_diff_trials = sum(cond==0), 
                                                    hit = sum(keys==1&cond==1), 
                                                    fa= sum(keys==1&cond==0), 
                                                    cr = sum(keys==0&cond==0),
                                                    miss = sum(keys==0&cond==1),
                                                    HitRate =sum(keys==1&cond==1)/sum(cond==1), 
                                                    FARate = sum(keys==1&cond==0)/sum(cond==0), 
                                                    CRRate = sum(keys==0&cond==0)/sum(cond==0),
                                                    MissRate = sum(keys==0&cond==1)/sum(cond==1), 
                                                    d_p = qnorm(HitRate)-qnorm(FARate))
basicFeature_longform = gather(basicFeature, response_type, number_resp, HitRate,FARate,CRRate,MissRate)
head(basicFeature_longform)
## # A tibble: 6 x 14
## # Groups:   subID [4]
##   subID feature_index num_noresposnes num_same_resp num_diff_resp
##   <int>         <dbl>           <int>         <int>         <int>
## 1     2             2               0            33            51
## 2    17             3               0            28            56
## 3    18             1               0            29            55
## 4    22             2               0            40            44
## 5     2             2               0            33            51
## 6    17             3               0            28            56
## # ... with 9 more variables: num_same_trials <int>, num_diff_trials <int>,
## #   hit <int>, fa <int>, cr <int>, miss <int>, d_p <dbl>,
## #   response_type <chr>, number_resp <dbl>
ggplot(basicFeature_longform, aes(x = response_type, y = number_resp, color = response_type))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Proportaion response type by feature", x = "response type", y = "proportion")+
  plotformat

###########
basicLevel = totalData %>% filter(keys>=0)%>% group_by(subID,level_diff)%>% summarize(num_noresposnes = sum(keys==-1), num_same_resp = sum(keys==1), num_diff_resp = sum(keys==0), num_same_trials =sum(cond==1), num_diff_trials = sum(cond==0), 
                                                    hit = sum(keys==1&cond==1), 
                                                    fa= sum(keys==1&cond==0), 
                                                    cr = sum(keys==0&cond==0),
                                                    miss = sum(keys==0&cond==1),
                                                    HitRate =sum(keys==1&cond==1)/sum(cond==1), 
                                                    FARate = sum(keys==1&cond==0)/sum(cond==0), 
                                                    CRRate = sum(keys==0&cond==0)/sum(cond==0),
                                                    MissRate = sum(keys==0&cond==1)/sum(cond==1), 
                                                    d_p = qnorm(HitRate)-qnorm(FARate))
basicLevel_longform = gather(basicLevel, response_type, number_resp, HitRate,FARate,CRRate,MissRate)
head(basicLevel_longform)
## # A tibble: 6 x 14
## # Groups:   subID [1]
##   subID level_diff num_noresposnes num_same_resp num_diff_resp
##   <int>      <dbl>           <int>         <int>         <int>
## 1     2          0               0            19             2
## 2     2          1               0             9             9
## 3     2          2               0             3            12
## 4     2          3               0             1            11
## 5     2          4               0             1             8
## 6     2          5               0             0             6
## # ... with 9 more variables: num_same_trials <int>, num_diff_trials <int>,
## #   hit <int>, fa <int>, cr <int>, miss <int>, d_p <dbl>,
## #   response_type <chr>, number_resp <dbl>
ggplot(basicLevel_longform, aes(x = response_type, y = number_resp, color = response_type))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~level_diff,nrow = 1)+
  labs(title="Proportaion response type by difficulty level", x = "response type", y = "proportion")+
  theme_facet()
## Warning: Removed 56 rows containing non-finite values (stat_boxplot).
## Warning: Removed 56 rows containing missing values (geom_point).

###########
basicLevelFeature = totalData %>% filter(keys>=0)%>% group_by(subID,level_diff,feature_index)%>% summarize(num_noresposnes = sum(keys==-1), num_same_resp = sum(keys==1), num_diff_resp = sum(keys==0), num_same_trials =sum(cond==1), num_diff_trials = sum(cond==0), 
                                                    hit = sum(keys==1&cond==1), 
                                                    fa= sum(keys==1&cond==0), 
                                                    cr = sum(keys==0&cond==0),
                                                    miss = sum(keys==0&cond==1),
                                                    HitRate =sum(keys==1&cond==1)/sum(cond==1), 
                                                    FARate = sum(keys==1&cond==0)/sum(cond==0), 
                                                    CRRate = sum(keys==0&cond==0)/sum(cond==0),
                                                    MissRate = sum(keys==0&cond==1)/sum(cond==1), 
                                                    d_p = qnorm(HitRate)-qnorm(FARate))
basicLevelFeature_longform = gather(basicLevelFeature, response_type, number_resp, HitRate,FARate,CRRate,MissRate)
head(basicLevelFeature_longform)
## # A tibble: 6 x 15
## # Groups:   subID, level_diff [6]
##   subID level_diff feature_index num_noresposnes num_same_resp
##   <int>      <dbl>         <dbl>           <int>         <int>
## 1     2          0             2               0            19
## 2     2          1             2               0             9
## 3     2          2             2               0             3
## 4     2          3             2               0             1
## 5     2          4             2               0             1
## 6     2          5             2               0             0
## # ... with 10 more variables: num_diff_resp <int>, num_same_trials <int>,
## #   num_diff_trials <int>, hit <int>, fa <int>, cr <int>, miss <int>,
## #   d_p <dbl>, response_type <chr>, number_resp <dbl>
ggplot(basicLevelFeature_longform, aes(x = response_type, y = number_resp, color = response_type))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(feature_index~level_diff,nrow = 3,strip.position = "bottom")+
  labs(title="Proportaion response type by difficulty level", x = "level diff", y = "proportion")+
  theme_facet()
## Warning: Removed 56 rows containing non-finite values (stat_boxplot).

## Warning: Removed 56 rows containing missing values (geom_point).

reaction time and difficulty levels

summarize = dplyr::summarize
responseData = totalData %>%filter(keys>=0,accuracy==1)
ggplot(responseData, aes(x = level_diff, y = rt, group = as.factor(level_diff), color = as.factor(level_diff)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
    ylim(0,2500)+
  labs(title="Reaction type by difficulty levels", x = "response type", y = "RT (ms)")+
  plotformat

responseData_firstHalf = totalData %>%filter(keys>=0,accuracy==1,trialNum<42)
ggplot(responseData_firstHalf, aes(x = level_diff, y = rt, group = as.factor(level_diff), color = as.factor(level_diff)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
    ylim(0,2500)+
  labs(title="Reaction type by difficulty levels -first", x = "response type", y = "RT (ms)")+
  plotformat

responseData_lastHalf = totalData %>%filter(keys>=0,accuracy==1,trialNum>42)
ggplot(responseData_lastHalf, aes(x = level_diff, y = rt, group = as.factor(level_diff), color = as.factor(level_diff)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  ylim(0,2500)+
  labs(title="Reaction type by difficulty levels -last", x = "response type", y = "RT (ms)")+
  plotformat

#temp = responseData %>% group_by(subID, level_diff, feature_index) %>%summarise(mean_RT = mean(rt))
#ggplot(temp,aes(x = level_diff, y = mean_RT, group = level_diff))+
#  geom_boxplot(fill = "white",lwd = 1)+
#  geom_jitter(width=0.2,alpha = 0.5)+
#  facet_wrap(~feature_index)+
#  labs(title="Proportaion response type", x = "response type", y = "RT (ms)")+
#  plotformat

######
responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==0)
ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
    ylim(0,2500)+
  labs(title="Reaction type for same pairs by levels", x = "levels", y = "RT (ms)")+
  plotformat

responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==1)
ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
    ylim(0,2500)+
  labs(title="Reaction type for difference -- level 1", x = "levels", y = "RT (ms)")+
  plotformat

responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==2)
ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
    ylim(0,2500)+
  labs(title="Reaction type for difference -- level 2", x = "levels", y = "RT (ms)")+
  plotformat

responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==3)
ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
    ylim(0,2500)+
  labs(title="Reaction type for difference -- level 3", x = "levels", y = "RT (ms)")+
  plotformat

responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==4)
ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
    ylim(0,2500)+
  labs(title="Reaction type for difference -- level 4", x = "levels", y = "RT (ms)")+
  plotformat

responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==5)
ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
    ylim(0,2500)+
  labs(title="Reaction type for difference -- level 5", x = "levels", y = "RT (ms)")+
  plotformat

responseData = totalData %>%filter(keys>=0,accuracy==1,level_diff==6)
ggplot(responseData, aes(x = pairIdentity, y = rt, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
    ylim(0,2500)+
  labs(title="Reaction type for difference -- level 6", x = "levels", y = "RT (ms)")+
  plotformat

##accuracy and difficulty levels

accuracyData = totalData %>%filter(keys>=0)%>%group_by(subID,feature_index,level_diff)%>%summarize(meanAccuracy = sum(accuracy==1)/length(subID))
ggplot(accuracyData, aes(x = level_diff, y = meanAccuracy, group = as.factor(level_diff), color = as.factor(level_diff)))+
   geom_boxplot(fill = "white",lwd = 1)+
  geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Accuracy by difficulty levels", x = "difficulty level", y = "proportion correct")+
  plotformat

accuracy and pair

accuracyDataPairSame = totalData %>%filter(keys>=0,cond==1)%>%group_by(subID,feature_index,pairIdentity)%>%summarize(propAccuracy = sum(accuracy==1)/length(subID))

ggplot(accuracyDataPairSame, aes(x = pairIdentity, y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_point(alpha = 0.5)+
  #geom_jitter(width=0.05,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Accuracy by same pairs", x = "difficulty level", y = "proportion correct")+
  plotformat

accuracyDataPairDiff = totalData %>%filter(keys>=0,cond==0)%>%group_by(subID,feature_index,pairIdentity)%>%summarize(propAccuracy = sum(accuracy==1)/length(subID))
ggplot(accuracyDataPairDiff, aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_point(alpha = 0.5)+
  #geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Accuracy by different pairs", x = "difficulty level", y = "proportion correct")+
  plotformat

accuracyDataPairDiff_level = totalData %>%filter(keys>=0,cond==0)%>%group_by(subID,feature_index,pairIdentity)%>%summarize(propAccuracy = sum(accuracy==1)/length(subID), level_diff = level_diff[1])

ggplot(filter(accuracyDataPairDiff_level,level_diff==1), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_point(alpha = 0.5)+
  #geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Accuracy by different pairs --level 01", x = "difficulty level", y = "proportion correct")+
  plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==2), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_point(alpha = 0.5)+
  #geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Accuracy by different pairs --level 02", x = "difficulty level", y = "proportion correct")+
  plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==3), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_point(alpha = 0.5)+
  #geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Accuracy by different pairs --level 03", x = "difficulty level", y = "proportion correct")+
  plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==4), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_point(alpha = 0.5)+
  #geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Accuracy by different pairs --level 04", x = "difficulty level", y = "proportion correct")+
  plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==5), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_point(alpha = 0.5)+
  #geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Accuracy by different pairs --level 05", x = "difficulty level", y = "proportion correct")+
  plotformat

ggplot(filter(accuracyDataPairDiff_level,level_diff==6), aes(x = as.factor(pairIdentity), y = propAccuracy, group = as.factor(pairIdentity), color = as.factor(pairIdentity)))+
  geom_boxplot(fill = "white",lwd = 1)+
  geom_point(alpha = 0.5)+
  #geom_jitter(width=0.2,alpha = 0.5)+
  facet_wrap(~feature_index)+
  labs(title="Accuracy by different pairs --level 06", x = "difficulty level", y = "proportion correct")+
  plotformat